home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-08-20 | 11.5 KB | 392 lines | [TEXT/Anon] |
-
- MAC.68K
-
-
- VIII. RESOURCES REQUIREDVIII. RESOURCES REQUIREDVIII. RESOURCES REQUIRED
-
-
- MAC.68K resides on one 34K byte file. It requires file MLOAD
- to be present if an application object file is to be generated.
-
- MAC.68K does require disk space while it executes. It is a
- two pass assembler, but instead of reading the same source data
- for each pass it creates a temporary file during pass one that
- contains all the source lines to be processed by pass two. This
- temporary file will require .8 to 1.4 times the size of the input
- source file plus any included text files. MAC.68K will try to
- fit this file into memory, so for small programs or on large
- memory size machines this disk space may not be required.
-
- INCLUDE files are loaded in entirety into memory prior to
- being processed. Included text file sizes of 10K to 20K on a
- 128K Macintosh should pose no problems. If you get a memory full
- diagnostic on an include file, one solution is to split the file
- and use two INCLUDE statements.
-
- For programmers writing very large programs, the following
- dynamic table sizes can be added to the static size of 52K to
- approximate the memory required for assembly.
-
- TABLE Required in Size
-
- SYMBOL Pass 1 Pass 2 16 bytes per symbol
- Macro names Pass 1 Pass 2 16 bytes per name
- Macro definition Pass 1 Size of macro text
- Object code Pass 2 Size of program
- Relocation bits Pass 2 Size of program
- (if .O generated)
-
-
- As an example of a moderate to large size program, MAC.68K
- requires 104K to assemble itself. That includes 270K of source
- data in 14 text files, two INCLUDES files, three INCLUDEH files,
- 2500 symbols, and 20 macro definitions.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -14-
- MAC.68K
-
-
- IX. STATISTIC AND ERROR MESSAGESIX. STATISTIC AND ERROR MESSAGESIX. STATISTIC AND ERROR MESSAGES
-
-
- All MAC.68K statistic and error messages are displayed on the
- console. The first message issued by MAC.68K is its copyright
- and the version number.
-
-
- IX.1 Errors Detected In The Command Line IX.1 Errors Detected In The Command Line IX.1 Errors Detected In The Command Line
-
-
- The following errors are detected at call time. All are
- considered fatal and will terminate the assembly. Check section I
- for the valid command line options and syntax.
-
-
- *UNKNOWN OPTION IN COMMAND LINE*
- An unknown option character followed a dash character.
-
- *SYNTAX ERROR IN COMMAND LINE*
- An illegal character or character sequence was detected.
-
- *ILLEGAL FILE NAME IN COMMAND LINE*
- An invalid file specification was given.
-
- *NO INPUT FILE NAME IN COMMAND LINE*
- The input file is a required parameter.
-
- *ILLEGAL DRIVE SPECIFICATION IN COMMAND LINE*
- A drive number other than A-P was specified on a
- file name or -F command.
-
-
- IX.2 Initialization Errors IX.2 Initialization Errors IX.2 Initialization Errors
-
-
- The following are detected during MAC.68K initialization. All
- are considered fatal and assembly is terminated.
-
-
- *UNABLE TO OPEN INPUT FILE*
- The input file name from the command line does not exist
- or is unaccessable.
-
- *UNABLE TO OPEN OUTPUT FILE*
- MAC.68K was unable to open the output file specified on
- the command line. Possible errors include: drive
- specified does not exist or is not online, disk is
- full, directory is full.
-
- *STACK OVERFLOW*
- The TPA size is too small for MAC.68K. See section VIII
- for minimum memory sizes.
-
-
-
-
-
-
- -15- MAC.68K
- MAC.68K
-
-
- IX.3 Pass One Messages IX.3 Pass One Messages IX.3 Pass One Messages
-
-
- MAC.68K reports no assembly errors during pass one. MAC.68K
- displays the informative message *LOADING filename* at the
- current cursor line while it is reading any of the include type
- files. At the end of pass one and prior to pass two, MAC.68K
- issues three statistic messages; the count of source lines read,
- the count of source lines written to the intermediate file for
- pass two processing, and the count of M68000 operation and data
- source lines.
-
- The fatal errors causing termination in pass one are disk
- full while writing the intermediate file, symbol table full and
- memory overflow. The following messages result:
-
- *DISK FULL*
- See section VIII to determine size requirements for the
- intermediate file. Delete some files from the default
- disk or use the command line option -F to place the
- intermediate file on a disk with sufficient space.
-
- *SYMBOL TABLE OVERFLOW*
- MAC.68K will handle at least 4200 symbols if enough
- memory is available. To handle more you must split
- your program into separate load modules.
-
- *PASS ONE TABLE OVERFLOW*
- See section VIII to determine pass one table space
- requirements. Your program may be too large for the
- available memory, an INCLUDE file may be too large to
- fit in available memory, or you may have an unintended
- recursion with MACRO, DUP, or INCLUDE that has filled
- up table space before hitting the MAC.68K recursion
- limit.
-
-
- IX.4 Pass Two Messages IX.4 Pass Two Messages IX.4 Pass Two Messages
-
-
- *OBJECT CODE TOO LARGE*
- The size of the resulting .68K file is too large
- to generate in the available memory space. The assembly
- will continue but no object file will be generated.
-
- *DISK FULL - OBJECT FILE*
- Too little room on the disk or directory to write the
- object file. The assembly will continue but no object
- file will be generated.
-
-
-
-
-
-
-
-
-
-
- MAC.68K -16-
- MAC.68K
-
-
- *DISK FULL - PRINT FILE*
- Too little room on the disk or directory to write the
- print file. The assembly will continue but the print
- file will remain truncated.
-
-
- During pass two MAC.68K will display IDENT and END cards on
- the console. If the operator has not enabled list generation, or
- if the listing is not being sent to the console, any line
- containing assembly errors, complete with error column pointers,
- will also be displayed. Unless the NOPAWS option is selected,
- MAC.68K will pause when the screen is filled with error messages,
- and wait for operator input before continuing. If any errors
- have been detected, MAC.68K will list an error directory after
- the END card but before the symbol/cross reference table. The
- error directory will contain a one line description for each
- unique error type encountered.
-
- If a source line contains an error(s), the error type is
- flagged in the output listing with single character flags
- starting in the leftmost position of the source listing. Numeric
- error flags indicate a "nonfatal" error that did not prevent
- complete processing of the line. Alphabetic error flags indicate
- a "fatal" error that resulted in no processing or in partial
- processing of the source line.
-
- A one line text description of each error code type
- encountered in the assembly will be printed at the end of the
- program.
-
-
- Source Line Error Flags
-
- Type Description (See Appendix B for detailed descriptions)
-
- A Address Field Error.
-
- D Doubly Defined Symbol.
-
- E INCLUDE, RMT, or MACRO was illegally nested.
-
- F File Content Error.
-
- G Op Code not allowed.
-
- L Location Field Bad.
-
- M Invalid M68000 Addressing Mode.
-
- N File Name Error.
-
- O Operation Field Bad.
-
- P User Requested Error.
-
- R Relocation Error.
-
-
-
- -17- MAC.68K
- MAC.68K
-
-
- U Undefined Symbol.
-
- V VFD Bit Count Error.
-
- X File Not Found.
-
- Z Zero Division.
-
- 1 Location Field Bad.
-
- 2 Address Error on Symbol Definition.
-
- 3 Duplicate Macro Definition.
-
- 4 Bad Formal Parameter Name.
-
- 7 Address Value Exceeds Field Size.
-
- 8 Missing or Extra Operation Subfield.
-
- 9 String Substitution Error.
-
-
-
-
-
-
- IX.5 Completion Messages IX.5 Completion Messages IX.5 Completion Messages
-
-
- *NO OBJECT FILE GENERATED*
- Either OPTION NOOBJ was selected or the object file
- was too large.
-
- *ASSEMBLY ERRORS*
- The assembly is finished, but at least one error was
- detected.
-
- *ASSEMBLY COMPLETE*
- The assembly finished with no errors.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -18-
- MAC.68K
-
-
- X. PSEUDO OPERATIONSX. PSEUDO OPERATIONSX. PSEUDO OPERATIONS
-
-
- In addition to operation codes that generate machine language
- object code, most assemblers provide additional operation codes
- to generate data, reserve storage, define macros, provide program
- list control, and other assembler support functions. Because
- these additional operations do not directly generate machine code
- they are known as pseudo operation codes, or pseudo ops. The
- names of the pseudo ops provided by MAC.68K and grouped by
- general function follow.
-
-
- Data DC.B DS.B VFD
- DC DS
- DC.L DS.L
-
- Control IDENT ORG EVEN
- END LOC
-
- Macro and MACRO LOCAL DUP STOPDUP
- Code Generation MACROL PURGE ECHO
- ENDM OPSYN ENDD
-
- Listing LIST TITLE PAGE
- SUBTTL SPACE
-
- Conditional IF ELSE IFC
- IFS ENDC IFNC
- IFxx
-
- Symbol SET MAX QUAL NOREF
- EQU MIN
-
- Misc STRING STRDEC DEFER ERRxx
- STRLEN STRHEX HERE
-
- Initialization OPTION PAGE
-
- Modularization INCLUDES MODULE STEXT
- INCLUDEH ENTRY
- INCLUDE
-
- Segment BSS OFFSET TEXT
- DATA SECTION
-
- Loader (CPM) GLOBL COMM
-
-
-
-
-
-
-
-
-
-
-
-
- -19- MAC.68KPM) GLOBL COMM
-
-
-
-
-
-
-
-
-
-
-
-
-